from django.db import models
from ckeditor.fields import RichTextField  # 富文本编辑器字段
from ckeditor_uploader.fields import RichTextUploadingField  # 富文本上传字段

# 创建模型类
class Category(models.Model):
    id = models.AutoField(primary_key=True)  # 自增主键
    name = models.CharField('分类名称', max_length=20)  # 分类名称字段

    # 元数据
    class Meta:
        db_table = 'category'  # 数据库表名
        verbose_name = '分类管理'  # 在后台显示的名称
        verbose_name_plural = '分类管理'  # 在后台显示的复数名称

    def __str__(self):
        return self.name  # 返回分类名称

# 新闻模型类
class News(models.Model):
    id = models.AutoField(primary_key=True)  # 自增主键
    title = models.CharField('标题', max_length=100)  # 标题字段
    content = RichTextUploadingField()  # 富文本上传字段
    cover = models.ImageField('封面', upload_to='news', blank=True, null=True, help_text='最佳尺寸:480*270')  # 封面图片字段
    created_at = models.DateTimeField('创建时间', auto_now_add=True, editable=True)  # 创建时间字段
    updated_at = models.DateTimeField('更新时间', auto_now=True, editable=True)  # 更新时间字段
    category = models.ForeignKey(Category, on_delete=models.CASCADE)  # 外键关联分类表

    # 元数据
    class Meta:
        db_table = 'news'  # 数据库表名
        verbose_name = '新闻管理'  # 在后台显示的名称
        verbose_name_plural = '新闻管理'  # 在后台显示的复数名称

    def __str__(self):
        return self.title  # 返回新闻标题